\subsection{Compute a surface by Hermite interpolation, parameter\-ization as input.}
\funclabel{s1530}
\begin{minipg1}
  To compute the cubic Hermite interpolant to the data given.
  More specifically, given positions, 10, 01, and 11
  derivatives at points of a rectangular grid, the routine
  computes a cubic tensor-product B-spline interpolant to
  the given data with double knots at each data point (the first
  knot vector will have double knots at all interior points
  in epar1, quadruple knots at the first and last points,
  and similarly for the second knot vector).
  The output is represented as a B-spline surface.
\end{minipg1} \\ \\
SYNOPSIS\\
        \>void s1530(\begin{minipg3}
          {\fov ep}, {\fov eder10}, {\fov eder01}, {\fov eder11}, {\fov epar1}, {\fov epar2},
          {\fov im1}, {\fov im2}, {\fov idim}, {\fov rsurf}, {\fov jstat})
        \end{minipg3}\\[0.3ex]
        \>\>    double \> {\fov ep}[\,];\\
        \>\>    double \> {\fov eder10}[\,];\\
        \>\>    double \> {\fov eder01}[\,];\\
        \>\>    double \> {\fov eder11}[\,];\\
        \>\>    double \> {\fov epar1}[\,];\\
        \>\>    double \> {\fov epar2}[\,];\\
        \>\>    int    \> {\fov im1};\\
        \>\>    int    \> {\fov im2};\\
        \>\>    int    \> {\fov idim};\\
        \>\>    SISLSurf \> **{\fov rsurf};\\
        \>\>    int    \> *{\fov jstat};\\
\\
ARGUMENTS\\
        \>Input Arguments:\\
        \>\>    {\fov ep} \> - \>
        \begin{minipg2}
          Array of dimension $idim\times im1\times im2$ containing
          the positions of the nodes (using the same ordering
          as {\fov ecoef} in the SISLSurf structure).
        \end{minipg2}\\[0.8ex]
        \>\>    {\fov eder10} \> - \>
        \begin{minipg2}
          Array of dimension $idim\times im1\times im2$ containing the
          first derivative in the first parameter direction.
        \end{minipg2}\\[0.8ex]
        \>\>    {\fov eder01} \> - \>
        \begin{minipg2}
          Array of dimension $idim\times im1\times im2$ containing the
          first derivative in the second parameter direction.
        \end{minipg2}\\[0.8ex]
        \>\>    {\fov eder11} \> - \>
        \begin{minipg2}
          Array of dimension $idim\times im1\times im2$ containing
          the cross derivative (twist vector).
        \end{minipg2}\\[0.8ex]
        \>\>    {\fov epar1} \> - \>
        \begin{minipg2}
          Array of size {\fov im1} containing the
          parametrization in the first direction.
        \end{minipg2}\\[0.8ex]
        \>\>    {\fov epar2} \> - \>
        \begin{minipg2}
          Array of size {\fov im2} containing the
          parametrization in the first direction.
        \end{minipg2}\\[0.8ex]
        \>\>    {\fov im1} \> - \>
          The number of interpolation points in the 1st param. dir.\\
        \>\>    {\fov im2} \> - \>
          The number of interpolation points in the 2nd param. dir.\\
        \>\>    {\fov idim} \> - \> Dimension of the space we are working in.\\
\\

        \>Output Arguments:\\
        \>\>    {\fov rsurf} \> - \> Pointer to the B-spline surface produced.\\
        \>\>    {\fov jstat} \> - \> Status message\\
                \>\>\>\>\> $< 0$ : Error.\\
                \>\>\>\>\> $= 0$ : Ok.\\
                \>\>\>\>\> $> 0$ : Warning.\\
\\
EXAMPLE OF USE\\
        \>      \{ \\
        \>\>    double \> {\fov ep}[30]; \, /* Must be defined */\\
        \>\>    double \> {\fov eder10}[30]; \, /* Must be defined */\\
        \>\>    double \> {\fov eder01}[30]; \, /* Must be defined */\\
        \>\>    double \> {\fov eder11}[30]; \, /* Must be defined */\\
        \>\>    double \> {\fov epar1}[2]; \, /* Must be defined */\\
        \>\>    double \> {\fov epar2}[5]; \, /* Must be defined */\\
        \>\>    int    \> {\fov im1 = 2};\\
        \>\>    int    \> {\fov im2 = 5};\\
        \>\>    int    \> {\fov idim = 3};\\
        \>\>    SISLSurf \>  *{\fov rsurf} = NULL;\\
        \>\>    int    \> {\fov jstat} = 0;\\
        \>\>    \ldots \\
        \>\>s1530(\begin{minipg4}
          {\fov ep}, {\fov eder10}, {\fov eder01}, {\fov eder11}, {\fov epar1}, {\fov epar2},
          {\fov im1}, {\fov im2}, {\fov idim}, \&{\fov rsurf}, \&{\fov jstat});
        \end{minipg4}\\
        \>\>    \ldots \\
        \>      \}
\end{tabbing}
